const app = getApp()

Page({
  data: {
    planId: '',
    progressData: null,
    loading: true
  },

  onLoad(options) {
    if (options.planId) {
      this.setData({
        planId: options.planId
      })
      this.loadProgressData()
    } else {
      wx.showToast({
        title: '参数错误',
        icon: 'none'
      })
      setTimeout(() => {
        wx.navigateBack()
      }, 1500)
    }
  },

  onShow() {
    if (this.data.planId) {
      this.loadProgressData()
    }
  },

  onPullDownRefresh() {
    this.loadProgressData()
  },

  // 加载进度数据
  loadProgressData() {
    this.setData({ loading: true })
    
    app.request({
      url: '/getProductionPlanProgress',
      method: 'GET',
      data: { plan_id: this.data.planId }
    }).then(res => {
      this.setData({ loading: false })
      wx.stopPullDownRefresh()
      
      if (res.code === 1) {
        // 调试信息
        console.log('详细进度数据:', res.data)
        console.log('详细数据:', res.data.detailedData)
        
        this.setData({
          progressData: res.data
        })
      } else {
        wx.showToast({
          title: res.msg || '加载失败',
          icon: 'none'
        })
      }
    }).catch(err => {
      this.setData({ loading: false })
      wx.stopPullDownRefresh()
      console.error('加载进度数据失败:', err)
      wx.showToast({
        title: '加载失败',
        icon: 'none'
      })
    })
  },

  // 更新进度
  updateProgress() {
    wx.showModal({
      title: '确认更新',
      content: '确定要更新生产计划进度吗？',
      success: (res) => {
        if (res.confirm) {
          this.doUpdateProgress()
        }
      }
    })
  },

  // 执行更新进度
  doUpdateProgress() {
    wx.showLoading({ title: '更新中...' })
    
    app.request({
      url: '/updateProductionPlanProgress',
      method: 'POST',
      data: { id: this.data.planId }
    }).then(res => {
      wx.hideLoading()
      if (res.code === 1) {
        wx.showToast({
          title: '更新成功',
          icon: 'success'
        })
        this.loadProgressData()
      } else {
        wx.showToast({
          title: res.msg || '更新失败',
          icon: 'none'
        })
      }
    }).catch(err => {
      wx.hideLoading()
      console.error('更新进度失败:', err)
      wx.showToast({
        title: '更新失败',
        icon: 'none'
      })
    })
  },

  // 格式化时间
  formatTime(timestamp) {
    if (!timestamp) return '-'
    const date = new Date(timestamp * 1000)
    return date.toLocaleDateString() + ' ' + date.toLocaleTimeString()
  }
})
